The subject matter discussed in the background section should not be assumed to be prior art merely as a result of its mention in the background section. Similarly, a problem mentioned in the background section or associated with the subject matter of the background section should not be assumed to have been previously recognized in the prior art. The subject matter in the background section merely represents different approaches, which in and of themselves may also correspond to implementations of the claimed technology.
Traditionally, users have interacted with electronic devices, such as a computer or a television, or computing applications, such as computer games, multimedia applications, or office applications, via indirect input devices, including, for example, keyboards, joysticks, or remote controllers. Electronics manufacturers have developed systems that detect a user's movements or gestures and cause the display to respond in a contextually relevant manner. The user's gestures may be detected using an optical imaging system, and characterized and interpreted by suitable computational resources. For example, a user near a TV may perform a sliding hand gesture, which is detected by the gesture-recognition system; in response to the detected gesture, the TV may activate and display a control panel on the screen, allowing the user to make selections thereon using subsequent gestures; for example, the user may move her hand in an “up” or “down” direction, which, again, is detected and interpreted to facilitate channel selection.
A user of a gesture-based system may wish to perform a variety of different tasks and/or issue a variety of different types of commands. A user of a traditional system may enter letters with a keyboard, move a pointer with a mouse, and activate or select a widget with a mouse button; the gesture-based user does not have a similar variety of different input means. Instead, the gesture-based user issues different types of commands with different gestures. A need therefore exists for a gesture-based system that switches between input modes in an intuitive, reliable, and easy-to-use manner.